package main
import(
	"fmt"
)

type Stu struct{
	Name string
	Age int
}

func main(){
	// 方式1 
	// 在创建结构体变量时，就直接指定字段的值
	var stu1 = Stu{"npc1",10}
	stu2 := Stu{"npc1",12}

	var stu3 =Stu{
		Name:"npc1",
		Age: 20,
	}
	stu4 := Stu{
		Age:30,
		Name :"npc1",
	}
	//{npc1 10} {npc1 12} {npc1 20} {npc1 30}
	fmt.Println(stu1,stu2,stu3,stu4)

	// 方式2 
	// 返回结构体的指针类型
	var stu5 *Stu = &Stu{"npc2",10}
	var stu52 = &Stu{"npc2",10}
	stu6 := &Stu{"npc2",19}

	var stu7 = &Stu{
		Name: "npc3",
		Age:20,
	}
	
	stu8 := &Stu{
		Name: "npc3",
		Age:20,
	}
	// &{npc2 10} &{npc2 10} &{npc2 19} &{npc3 20} &{npc3 20}
	fmt.Println(stu5,stu52,stu6,stu7,stu8)  
	//{npc2 10} {npc2 10} {npc2 19} {npc3 20} {npc3 20}
	fmt.Println(*stu5,*stu52,*stu6,*stu7,*stu8)

}